1. Field of the Invention
The present invention relates to a nonvolatile semiconductor memory such as a flash memory and, more particularly, to a nonvolatile semiconductor memory having a page mode (page read function) with a plurality of banks.
2. Description of the Related Art
A flash memory is known as one of nonvolatile semiconductor memories. FIG. 1 is a sectional view showing the memory cell of the flash memory. This memory cell (memory cell transistor) is constituted by a MOSFET (Metal Oxide Semiconductor Field Effect Transistor) having a so-called stacked gate structure in which a floating gate FG and control gate CG are stacked via an insulating film. In this example, an N-well 101 is formed in a P-semiconductor substrate (P-substrate) 100, and a P-well 102 is formed in the N-well 101. An N+-impurity diffusion region 103 serving as the drain region of the MOSFET, and an N+-impurity diffusion region 104 and P+-impurity diffusion region 105 serving as the source region of the MOSFET are formed in the surface region of the P-well 102. A gate insulating film 106, floating gate FG, insulating film 107, and control gate CG are stacked on the substrate 100 between the impurity diffusion regions 103 and 104. An N+-impurity diffusion region 108 is formed in the surface region of the N-well 101. The impurity diffusion region 108 is connected to the impurity diffusion regions 104 and 105. A P+-impurity diffusion region 109 is formed in the major surface of the substrate 100, and grounded.
The memory cell transistor changes (or shifts) the threshold voltage viewed from the control gate CG in accordance with the number of electrons accumulated in the floating gate FG. The memory cell transistor stores data xe2x80x9c0xe2x80x9d or xe2x80x9c1xe2x80x9d in accordance with a change in threshold voltage.
FIG. 2 shows part of a memory cell array in which memory cell transistors are arrayed in a matrix. The control gates of memory cell transistors MC on respective rows are connected to word-lines WL0 to WLn. The drains of the memory cell transistors MC on respective columns are connected to bit-lines BL0 to BLm, and their sources are commonly connected to a ground point Vss (source-line).
FIG. 3 shows the relationship between the control gate voltage (gate voltage) and drain current of the memory cell transistor shown in FIG. 1. In FIG. 3, a state in which the number of electrons accumulated in the floating gate FG is relatively large (i.e., a threshold voltage Vt of the memory cell transistor is high) is defined as xe2x80x9c0xe2x80x9d data, and a state in which the threshold voltage Vt is low is defined as xe2x80x9c1xe2x80x9d data. Data read, erase, and program bias conditions are shown in Table 1.
Data is read by applying the voltage Vd (=1 V) to the drain of the memory cell transistor, the voltage Vs (=0 V) to the source, and the voltage Vg (=5 V) to the control gate. Whether stored data is xe2x80x9c1xe2x80x9d or xe2x80x9c0xe2x80x9d is determined by whether a cell current Icell flows.
Erase is executed at once for a plurality of memory cells which share the source and P-well 102. The drain is changed to the floating state, and the source voltage Vs=10 V and the control gate voltage Vg=xe2x88x927 V are set. Then, electrons flow from the floating gate FG to the substrate by the F-N tunnel phenomenon, and all the memory cells subjected to erase are set to xe2x80x9c1xe2x80x9d data.
To the contrary, program is done every bit. While the source voltage Vs=0 V and the control gate voltage Vg=9 V are set, 5 V is biased (drain voltage Vd=5 V) to the bit-line of cells in which xe2x80x9c0xe2x80x9d is to be written. High-energy electrons generated by the channel hot electron phenomenon are injected into the floating gate. At this time, by setting the bit-line of cells kept at xe2x80x9c1xe2x80x9d to 0 V (drain voltage Vd=0 V), no electron injection occurs and the threshold voltage Vt does not change.
In order to confirm program or erase, program verify or erase verify is performed. Program verify performs xe2x80x9c0xe2x80x9d read by setting the control gate voltage Vg to a voltage Vpv higher than the read voltage. Program and program verify are alternately executed, and when all cells to be programmed change to xe2x80x9c0xe2x80x9d, program operation ends. Similarly, during erase, a voltage Vev lower than the read voltage is applied to the control gate CG to execute erase verify which performs xe2x80x9c1xe2x80x9d read, and a sufficient cell current Icell is ensured. In this manner, the word-line voltage of the cell changes depending on the operation mode.
The reprogram time of the flash memory is longer than the read time by several orders of magnitude. To solve this problem, a so-called dual operation function has been introduced (e.g., U.S. Pat. No. 5,867,430 and U.S. Pat. No. 5,847,998). According to this function, the flash memory is divided into two banks or more. Even if a given bank undergoes reprogram, cell data can be read out from another bank. With the improvement of the MPU (Micro Processing Unit) performance, a higher read rate of the flash memory becomes important. Under these circumstances, a technique of greatly shortening the average access time by using page and burst modes has been available.
A 64-Mbit flash memory described in B. Pathank et al., xe2x80x9cA 1.8V 64 Mb 100 MHz Flexible Read While Write Flash Memoryxe2x80x9d, ISSCC2001 DIGEST OF TECHNICAL PAPERS pp. 32-33, February, 2001 comprises 16 4-Mbit banks, and has a 4-word page-length page access function. This flash memory adopts row decoders for respective banks in order to enable the banks to independently operate.
This arrangement means a large-size decoder area overhead, resulting in high chip cost.
As described above, the conventional nonvolatile semiconductor memory suffers a longer reprogram time than the read time by several orders of magnitude. Increasing the reprogram time leads to a large-size decoder area overhead and high chip cost.
According to one aspect of the present invention, there is provided a reference current generator configured to generate a first voltage dependent upon a current flowing through a reference cell; first current converters to which the first voltage is input, each configured to generate a second voltage; second current converters to which the first voltage is input, each configured to generate a third voltage; sense amplifiers for read, first terminals respectively being connected to a data-line for read, and second terminals respectively being applied with the second voltage each generated by said first current converters, configured to output data of a selection memory cell comparing a voltage of the a data-line for read with the second voltage; and sense amplifiers for verify, first terminals respectively being connected to verify data lines, and second terminals respectively being applied with the third voltage generated by said plurality of second current converters, configured to output verify data of the selection memory cell, comparing a voltage of the data-line for program and verify with the third voltage.